<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Var的弊端</title>
  </head>

  <body>

  </body>
  <script>
    /* 
   Var的弊端
      1.var会有预解析，在变量声明之前可以使用
  */
    //1.var会有预解析，在变量声明之前可以使用
    console.log(str1); //undefined
    var str1 = "hello";

    //2.var可以重复定义
    var num1 = 10;
    var num1 = 30;
    console.log(num1);

    //3.块级作用域的问题：ES5没有块级作用域，只有全局作用域和函数作用域
    {
      var str2 = 'wrold';
    }
    console.log(str2);

    //4.for循环中变量污染
    var i;
    for (i = 0; i < 4; i++) {
      console.log(i); //0 1 2 3
    }
    console.log(i); //4,变量污染
  </script>

</html>